package com.baidu.mapper;

import com.baidu.entity.ProjectClassEntity;
import org.apache.ibatis.annotations.Param;

import java.util.List;


// 安装 Mybatis X
// 红色头绳表示映射配置文件, 蓝色头绳表示Mapper接口
public interface ProjectClassMapper {

    // 第一种情况,
    // 只有一个参数,且不写 @Param() 注解,那么在xml对应的方法中使用的时候 直接写 这里的形参名字即可
    // public ProjectClassEntity selectProClassById(Long classId);

    // 第二种情况,
    // 比第一种多了个 @Param("xx") 注解, 那么在xml对应的方法中使用参数时应该写 xx
    // public ProjectClassEntity selectProClassById(@Param("clsId") Long classId);

    public ProjectClassEntity selectProClassById(@Param("classId") Long classId, @Param("userId") int userId);

//    -- 第一个params 是 Mapper 接口定义要求的叫 params
//    -- 第二个params 是 ProjectClassEntity 继承自BaseEntity的属性
//    -- 最好的方式是不要定义第一个params
    public List<ProjectClassEntity> selectProClassList(@Param("params") ProjectClassEntity entity);
    public List<ProjectClassEntity> selectProClassList2(@Param("params") ProjectClassEntity entity);
    public List<ProjectClassEntity> selectProClassAndStuList(@Param("params") ProjectClassEntity entity);

    public List<ProjectClassEntity> aaaa(Long id);
    public int updateProClassById(@Param("param1") ProjectClassEntity projectClass, @Param("param2") ProjectClassEntity pro);


    public int updateProClassById2(ProjectClassEntity projectClass);
    public int updateProClassById3(@Param("param1") ProjectClassEntity projectClass);


    public int deleteProClassById(@Param("arr") int[] arr);
}
